﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace hse_2013_tetris
{
    public class Figures
    {
        string[] type = {"....1111........", "....111.1.......", ".....11..11.....", ".1...11...1.....",
            "....111..1......", "....111...1.....", "..1..11..1......"};// I, L, O, S, T, J, Z
        public int x, y; 
        public int clr;
        public int[,] pix;
        public Random rd;
        public Figures()
        {
            x = 3; y = -2;// точка появления фигуры
            rd = new Random();
            clr = rd.Next(1,7);// рандомный выбор цвета
            int n = rd.Next(type.Length);// рандомное появление фигуры
            fillpix(out pix, type[n]);
            n = rd.Next(4);

        }
        /// <summary>
        /// Формирование фигуры через матрицу 4х4
        /// </summary>
        public void fillpix(out int[,] pix, string cc)
        {
            pix = new int[4, 4];
            int i, j;
            for (i = 0; i < 4; i++)
                for (j = 0; j < 4; j++)
                {
                    if (cc[j * 4 + i] == '1') pix[i, j] = clr;//закрашиваем элемент матрицы там,где элемент в строке равен 1 
                    else pix[i, j] = 0;
                }
        }
        /// <summary>
        /// Поворот фигуры
        /// </summary>
        public void rotate()
        {
            int[,] pix2 = new int[4, 4];
            int i, j;
            for (i = 0; i < 4; i++)
                for (j = 0; j < 4; j++)
                {
                    pix2[3 - j, i] = pix[i, j];//отображает матрицу
                }
            pix = pix2;
        }
        
    }
}
